$(function() {
	init();
});
// 页面初始化调用方法
function init() {
	// 1.初始化Table
	var userTable = new TableInit();
	userTable.Init();
}
function refreshTableData(){
	var pageSize = $('#clientRegTables').bootstrapTable('getOptions').pageSize;//动态获取当前页面显示条数
	$('#clientRegTables').bootstrapTable('refreshOptions',{pageSize : pageSize, pageNumber : 1,columns : getColumnsByType()});
}

//根据客户端类型返回列头
function getColumnsByType(){
	var type = $('#clientTypeSearch').val();
	var result = [];
	if(type==0){
		result =	[ {
			checkbox : true
		}, {
			field : 'CLIENT_REG_EVENT_ID',
			visible : false
		}, {
			field : 'LOGIN_NAME',
			title : '登录名',
		}, {
			field : 'USER_NAME',
			title : '用户名称',
			sortable : true,// 是否可排序
			order : "DESC"// 默认排序方式
		}, {
			field : 'CLIENT_TYPE',
			visible : false,
			title : '客户端类型'
		} ,{
			field : 'CLIENT_TYPE_NAME',
			title : '客户端类型'
		}, {
			field : "CLIENT_APP_MODEL",
			title : "手机型号"
		}, {
			field : "CLIENT_APP_DEVICE_ID",
			title : "手机硬件ID"
		}, {
			field : 'CLIENT_REG_TIME',
			title : '注册申请时间',
		}, {
			field : 'CLIENT_REG_STATUS',
			title : '注册状态',
			visible : false
		}, {
			field : 'STATUS_NAME',
			title : '注册状态'
		}]
	}else if(type==1){
		result =	[ {
			checkbox : true
		}, {
			field : 'CLIENT_REG_EVENT_ID',
			visible : false
		}, {
			field : 'LOGIN_NAME',
			title : '登录名'
		}, {
			field : 'USER_NAME',
			title : '用户名称'
		}, {
			field : 'CLIENT_TYPE',
			visible : false,
			title : '客户端类型'
		} ,{
			field : 'CLIENT_TYPE_NAME',
			title : '客户端类型'
		}, {
			field : 'CLIENT_PC_IP',
			title : "PC—IP地址"
		}, {
			field : 'CLIENT_PC_MAC',
			title : "PC—MAC地址"
		}, {
			field : 'CLIENT_REG_TIME',
			title : '注册申请时间',
			sortable : true,// 是否可排序
			order : "DESC"// 默认排序方式
		}, {
			field : 'CLIENT_REG_STATUS',
			visible : false
		}, {
			field : 'STATUS_NAME',
			title : '注册状态'
		} ]
	}
	return result;
}

var TableInit = function() {
	var oTableInit = new Object();
	// 初始化Table
	oTableInit.Init = function() {
		$('#clientRegTables').bootstrapTable({
			url : '../../../clientReg/getClientRegList', // 请求后台的URL（*）
			method : "POST",
			contentType : "application/x-www-form-urlencoded",
			toolbar : '#toolbar',
			striped : true, // 是否显示行间隔色
			cache : false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
			pagination : true, // 是否显示分页（*）
			sortable : true, // 是否启用排序
			checkboxHeader : false,// 是否显示表头的全选
			queryParamsType : "undefined", // 默认limit
			queryParams : oTableInit.queryParams,// 传递参数（*）
			sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
			pageNumber : 1, // 初始化加载第一页，默认第一页
			pageSize : 10, // 每页的记录行数（*）
			pageList : [ 10, 25, 50, 100 ], // 可供选择的每页的行数（*）
			sortName : "CLIENT_REG_TIME",
			sortOrder : "DESC",
			search : false, // 是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
			strictSearch : true,
			showColumns : true, // 是否显示所有的列
			minimumCountColumns : 2, // 最少允许的列数
			clickToSelect : true, // 是否启用点击选中行
			 height : 500, // 行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
			uniqueId : "CLIENT_REG_EVENT_ID", // 每一行的唯一标识，一般为主键列
			showToggle : true, // 是否显示详细视图和列表视图的切换按钮
			cardView : false, // 是否显示详细视图
			detailView : false,
			singleSelect:true,
			responseHandler : function(res) {
				return getTableData(res);
			}, 
			onLoadSuccess:function(){
	            $('.bootstrap-table tr td').each(function () {
	                $(this).attr("title", $(this).text());
	                $(this).css("cursor", 'pointer');
	            });
	        },
			columns : getColumnsByType()
		});
	};
	
	// 得到查询的参数
	oTableInit.queryParams = function(params) {
		var temp = { // 这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的pageSize,
			// pageNumber, searchText, sortName, sortOrder
			pageSize : params.pageSize, // 页面大小
			pageNumber : params.pageNumber, // 页码
			sortName : params.sortName,
			sortOrder : params.sortOrder,
			clientRegStatus : $('#clientRegStatusSearch').val(),
			clientType : $('#clientTypeSearch').val(),
			userName : $('#userNameSearch').val()
		};
		return temp;
	};
	return oTableInit;
};


//新增客户端平台
function addClientReg(){
	BootstrapDialog
	.show({
		title : '新增客户端平台',
		message : $("<form class='form-inline' style='height:220px'></form>").load(
				'addClientReg.html'),
		onshown:function(){
			getUserId();
		},
		buttons : [ {
			label : '取消',
			action : function(dialogRef) {
				dialogRef.close();
			}
		}, {
			icon : 'glyphicon glyphicon-check',
			label : '确定',
			cssClass : 'btn-primary',
			autospin : true,
			action : function(dialogRef){
				var clientPcID = "-";
				var clientPcMac = "-";
				var clientAppModel = "-";
				var clientAppDeviceID = "-";
				if($('#platformType').val() == 1){
					clientPcID = $('#platformIp').val();
					clientPcMac=$('#platformMAC').val();
					
					if(clientPcID == ""){
						danger("客户端IP不能为空!");
						return;
					}
					if(!checkIP(clientPcID)){
						danger("输入的客户端IP地址不合法！");
						return;
					}
					if(clientPcMac == ""){
						danger("客户端Mac地址不能为空!");
						return;
					}
				}else{
					clientAppModel=$('#platformXingHao').val();
					clientAppDeviceID=$('#platformYingJianId').val();
					if(clientAppModel == ""){
						danger("客户端型号不能为空!");
						return;
					}
					if(clientAppDeviceID == ""){
						danger("客户端硬件ID不能为空!");
						return;
					}
				}
				$.ajax({
					url : "../../../clientReg/addClientReg",
					type : "POST",
					dataType : "json",
					data : {
						clientUserID:$('#userNames').val(),  //用户Id
						clientType:$('#platformType')[0].selectedIndex, //客户端类型
						clientPcID:clientPcID, //客户端IP
						clientPcMac:clientPcMac, //客户端Mac地址
						clientAppModel:clientAppModel, //客户端型号
						clientAppDeviceID:clientAppDeviceID, //客户端硬件ID
						clientRegStatus:$('#platformZhuCeState')[0].selectedIndex //注册状态
					},
					success : function(data) {
						if (data.flag==0) {
							$('#clientRegTables').bootstrapTable('refresh');
							success("添加成功！");
						} else{
							var content = "<div style = 'color:#000000;'>"+data.errorInfo+"</div>"
							warning(content);
						}
						dialogRef.close();
					},
					error : function(data) {
						var content = "<div style = 'color:#000000;'>"+data.errorInfo+"</div>"
						danger(content);
						dialogRef.close();
					}
				});
			}
		}]
	});
}

//判断ip地址的合法性
function checkIP(value){
    var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
    var reg = value.match(exp);
    if(reg==null)
    {
    	return false;
    }
    return true;
}

function getUserId(){
	$('#platformType').on('change',function(){
		showTypeView($(this).val());
	});
	userId = "";
	$.ajax({
		"url" : "../../../user/getUserMessage",
		"type" : "post",
		"data" : { // 这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的pageSize, pageNumber,
			// searchText, sortName, sortOrder
			pageSize : 500, // 页面大小
			pageNumber : 1, // 页码
			sortName : "USER_NAME",
			sortOrder : "DESC",
			name : "",
			loginName : "",
			roleName : ""
		},
		"dataType" : "json",
		"success" : function(result) {
			if(result.flag==0){
				for(var i = 0;i<result.content.list.length;i++){
					userId = result.content.list[i].ID;
					$('#userNames').append("<option value='" + result.content.list[i].ID + "' >"
							+ result.content.list[i].USER_NAME + "</option>");
				}
			}else{
				danger(result.errofInfo);
			}
		},
		"error" : function() {
		}
	});
}

function showTypeView(type){
	if(type == "1"){
		$('#phone0').css('display','none');
		$('#phone1').css('display','none');
		$('#pcId0').css('display','block');
		$('#pcId1').css('display','block');
	}else{
		$('#phone0').css('display','block');
		$('#phone1').css('display','block');
		$('#pcId0').css('display','none');
		$('#pcId1').css('display','none');
	}
}
//弹出注册审核功能页面
function register() {
	var clientReg = $("#clientRegTables").bootstrapTable('getSelections');
	if (clientReg.length == 0) {
		warning("请选择要审核注册的用户!");
		return;
	} 
	BootstrapDialog
	.show({
		title : '审核注册',
		draggable: true,
		closable: false,
		message : $("<form class='form-inline' style='height:220px'></form>").load(
				'checkClientReg.html'),
		onshown:function(){
			$('#userNames').val(clientReg[0].USER_NAME);
			$('#platformType').val(statusTypeByType(clientReg[0].CLIENT_TYPE));
			showTypeView(clientReg[0].CLIENT_TYPE);
			if(clientReg[0].CLIENT_TYPE == "0"){
				$('#platformXingHao').val(clientReg[0].CLIENT_APP_MODEL);
				$('#platformYingJianId').val(clientReg[0].CLIENT_APP_DEVICE_ID);
			}else{
				$('#platformIp').val(clientReg[0].CLIENT_PC_IP);
				$('#platformMAC').val(clientReg[0].CLIENT_PC_MAC);
			}
			$("#platformZhuCeState option[value = '"+clientReg[0].CLIENT_REG_STATUS+"']").attr('selected','selected');
		},
		buttons : [ {
			label : '取消',
			action : function(dialogRef) {
				dialogRef.close();
			}
		}, {
			icon : 'glyphicon glyphicon-check',
			label : '确定',
			cssClass : 'btn-primary',
			autospin : true,
			action : function(dialogRef) {
				$.ajax({
					async : false,// 是否异步
					cache : false,// 是否使用缓存
					type : 'POST',// 请求方式：post
					data : {
						"clientRegEventID" : clientReg[0].CLIENT_REG_EVENT_ID,
						"clientRegStatus" : $('#platformZhuCeState')[0].selectedIndex
					},
					dataType : 'json',// 数据传输格式：json
					url : "../../../clientReg/updateClientRegEdit",// 请求的action路径
					error : function() {
						// 请求失败处理函数
						var content = "删除失败!";
						danger(content);
					},
					success : function(data) {
						if (data.flag == 0) {
							success("审核注册成功!");
							queryBytableId('clientRegTables');
						}  else {
							danger(data.errofInfo);
						}
					}
				});
			}
		}]
	});
}

function statusTypeByType(type) {
	if (type == "0") {
		return "手机端";
	} else {
		return "PC端";
	}
}

//删除
function delectClientReg(){
	var clientReg = $("#clientRegTables").bootstrapTable('getSelections');
	if (clientReg.length == 0) {
		warning("请选择要删除的用户!");
	} else{
			BootstrapDialog.show({
				title : '删除',
				message : $("<form class='form-inline' style='height:45px'>></form>").load(
						'clientRegEdit.html'),
				onshown : function() {
					// 初始化编辑框的值
					$("#shzc").html("");
					$("#shzc").html("是否确定删除!");
				},
				buttons : [ {
					icon : 'glyphicon glyphicon-check',
					label : '确定',
					cssClass : 'btn-primary',
					autospin : true,
					action : function(dialogRef) {
						$.ajax({
							async : false,// 是否异步
							cache : false,// 是否使用缓存
							type : 'POST',// 请求方式：post
							data : {
								"id" : clientReg[0].CLIENT_REG_EVENT_ID
							},
							dataType : 'json',// 数据传输格式：json
							url : "../../../clientReg/delete",// 请求的action路径
							error : function(data) {
								// 请求失败处理函数
								var content = "删除失败!";
								danger(content);
							},
							success : function(data) {
								if (data.flag == 0) {
									var content = "删除成功!";
									success(content);
									queryBytableId('clientRegTables');
								} else {
									var content = data.errorInfo;
									danger(content);
								}
							}
						});
					}
				}, {
					label : '取消',
					action : function(dialogRef) {
						dialogRef.close();
					}
				} ]
			});
	}

}
